package com.cn.intelligence.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbItemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TbItemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIntroIsNull() {
            addCriterion("intro is null");
            return (Criteria) this;
        }

        public Criteria andIntroIsNotNull() {
            addCriterion("intro is not null");
            return (Criteria) this;
        }

        public Criteria andIntroEqualTo(String value) {
            addCriterion("intro =", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotEqualTo(String value) {
            addCriterion("intro <>", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroGreaterThan(String value) {
            addCriterion("intro >", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroGreaterThanOrEqualTo(String value) {
            addCriterion("intro >=", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLessThan(String value) {
            addCriterion("intro <", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLessThanOrEqualTo(String value) {
            addCriterion("intro <=", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroLike(String value) {
            addCriterion("intro like", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotLike(String value) {
            addCriterion("intro not like", value, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroIn(List<String> values) {
            addCriterion("intro in", values, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotIn(List<String> values) {
            addCriterion("intro not in", values, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroBetween(String value1, String value2) {
            addCriterion("intro between", value1, value2, "intro");
            return (Criteria) this;
        }

        public Criteria andIntroNotBetween(String value1, String value2) {
            addCriterion("intro not between", value1, value2, "intro");
            return (Criteria) this;
        }

        public Criteria andBpriceIsNull() {
            addCriterion("bprice is null");
            return (Criteria) this;
        }

        public Criteria andBpriceIsNotNull() {
            addCriterion("bprice is not null");
            return (Criteria) this;
        }

        public Criteria andBpriceEqualTo(String value) {
            addCriterion("bprice =", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceNotEqualTo(String value) {
            addCriterion("bprice <>", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceGreaterThan(String value) {
            addCriterion("bprice >", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceGreaterThanOrEqualTo(String value) {
            addCriterion("bprice >=", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceLessThan(String value) {
            addCriterion("bprice <", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceLessThanOrEqualTo(String value) {
            addCriterion("bprice <=", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceLike(String value) {
            addCriterion("bprice like", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceNotLike(String value) {
            addCriterion("bprice not like", value, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceIn(List<String> values) {
            addCriterion("bprice in", values, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceNotIn(List<String> values) {
            addCriterion("bprice not in", values, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceBetween(String value1, String value2) {
            addCriterion("bprice between", value1, value2, "bprice");
            return (Criteria) this;
        }

        public Criteria andBpriceNotBetween(String value1, String value2) {
            addCriterion("bprice not between", value1, value2, "bprice");
            return (Criteria) this;
        }

        public Criteria andRpriceIsNull() {
            addCriterion("rprice is null");
            return (Criteria) this;
        }

        public Criteria andRpriceIsNotNull() {
            addCriterion("rprice is not null");
            return (Criteria) this;
        }

        public Criteria andRpriceEqualTo(String value) {
            addCriterion("rprice =", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceNotEqualTo(String value) {
            addCriterion("rprice <>", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceGreaterThan(String value) {
            addCriterion("rprice >", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceGreaterThanOrEqualTo(String value) {
            addCriterion("rprice >=", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceLessThan(String value) {
            addCriterion("rprice <", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceLessThanOrEqualTo(String value) {
            addCriterion("rprice <=", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceLike(String value) {
            addCriterion("rprice like", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceNotLike(String value) {
            addCriterion("rprice not like", value, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceIn(List<String> values) {
            addCriterion("rprice in", values, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceNotIn(List<String> values) {
            addCriterion("rprice not in", values, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceBetween(String value1, String value2) {
            addCriterion("rprice between", value1, value2, "rprice");
            return (Criteria) this;
        }

        public Criteria andRpriceNotBetween(String value1, String value2) {
            addCriterion("rprice not between", value1, value2, "rprice");
            return (Criteria) this;
        }

        public Criteria andSpriceIsNull() {
            addCriterion("sprice is null");
            return (Criteria) this;
        }

        public Criteria andSpriceIsNotNull() {
            addCriterion("sprice is not null");
            return (Criteria) this;
        }

        public Criteria andSpriceEqualTo(String value) {
            addCriterion("sprice =", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceNotEqualTo(String value) {
            addCriterion("sprice <>", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceGreaterThan(String value) {
            addCriterion("sprice >", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceGreaterThanOrEqualTo(String value) {
            addCriterion("sprice >=", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceLessThan(String value) {
            addCriterion("sprice <", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceLessThanOrEqualTo(String value) {
            addCriterion("sprice <=", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceLike(String value) {
            addCriterion("sprice like", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceNotLike(String value) {
            addCriterion("sprice not like", value, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceIn(List<String> values) {
            addCriterion("sprice in", values, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceNotIn(List<String> values) {
            addCriterion("sprice not in", values, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceBetween(int value1, int value2) {
            addCriterion("sprice between", value1, value2, "sprice");
            return (Criteria) this;
        }

        public Criteria andSpriceNotBetween(String value1, String value2) {
            addCriterion("sprice not between", value1, value2, "sprice");
            return (Criteria) this;
        }

        public Criteria andPpriceIsNull() {
            addCriterion("pprice is null");
            return (Criteria) this;
        }

        public Criteria andPpriceIsNotNull() {
            addCriterion("pprice is not null");
            return (Criteria) this;
        }

        public Criteria andPpriceEqualTo(String value) {
            addCriterion("pprice =", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceNotEqualTo(String value) {
            addCriterion("pprice <>", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceGreaterThan(String value) {
            addCriterion("pprice >", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceGreaterThanOrEqualTo(String value) {
            addCriterion("pprice >=", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceLessThan(String value) {
            addCriterion("pprice <", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceLessThanOrEqualTo(String value) {
            addCriterion("pprice <=", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceLike(String value) {
            addCriterion("pprice like", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceNotLike(String value) {
            addCriterion("pprice not like", value, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceIn(List<String> values) {
            addCriterion("pprice in", values, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceNotIn(List<String> values) {
            addCriterion("pprice not in", values, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceBetween(String value1, String value2) {
            addCriterion("pprice between", value1, value2, "pprice");
            return (Criteria) this;
        }

        public Criteria andPpriceNotBetween(String value1, String value2) {
            addCriterion("pprice not between", value1, value2, "pprice");
            return (Criteria) this;
        }

        public Criteria andMarginIsNull() {
            addCriterion("margin is null");
            return (Criteria) this;
        }

        public Criteria andMarginIsNotNull() {
            addCriterion("margin is not null");
            return (Criteria) this;
        }

        public Criteria andMarginEqualTo(String value) {
            addCriterion("margin =", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginNotEqualTo(String value) {
            addCriterion("margin <>", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginGreaterThan(String value) {
            addCriterion("margin >", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginGreaterThanOrEqualTo(String value) {
            addCriterion("margin >=", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginLessThan(String value) {
            addCriterion("margin <", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginLessThanOrEqualTo(String value) {
            addCriterion("margin <=", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginLike(String value) {
            addCriterion("margin like", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginNotLike(String value) {
            addCriterion("margin not like", value, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginIn(List<String> values) {
            addCriterion("margin in", values, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginNotIn(List<String> values) {
            addCriterion("margin not in", values, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginBetween(String value1, String value2) {
            addCriterion("margin between", value1, value2, "margin");
            return (Criteria) this;
        }

        public Criteria andMarginNotBetween(String value1, String value2) {
            addCriterion("margin not between", value1, value2, "margin");
            return (Criteria) this;
        }

        public Criteria andBenchmarkIsNull() {
            addCriterion("benchmark is null");
            return (Criteria) this;
        }

        public Criteria andBenchmarkIsNotNull() {
            addCriterion("benchmark is not null");
            return (Criteria) this;
        }

        public Criteria andBenchmarkEqualTo(Integer value) {
            addCriterion("benchmark =", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkNotEqualTo(Integer value) {
            addCriterion("benchmark <>", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkGreaterThan(Integer value) {
            addCriterion("benchmark >", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkGreaterThanOrEqualTo(Integer value) {
            addCriterion("benchmark >=", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkLessThan(Integer value) {
            addCriterion("benchmark <", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkLessThanOrEqualTo(Integer value) {
            addCriterion("benchmark <=", value, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkIn(List<Integer> values) {
            addCriterion("benchmark in", values, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkNotIn(List<Integer> values) {
            addCriterion("benchmark not in", values, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkBetween(Integer value1, Integer value2) {
            addCriterion("benchmark between", value1, value2, "benchmark");
            return (Criteria) this;
        }

        public Criteria andBenchmarkNotBetween(Integer value1, Integer value2) {
            addCriterion("benchmark not between", value1, value2, "benchmark");
            return (Criteria) this;
        }

        public Criteria andNumIsNull() {
            addCriterion("num is null");
            return (Criteria) this;
        }

        public Criteria andNumIsNotNull() {
            addCriterion("num is not null");
            return (Criteria) this;
        }

        public Criteria andNumEqualTo(Integer value) {
            addCriterion("num =", value, "num");
            return (Criteria) this;
        }
        
        public Criteria andSexEqualTo(Integer value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }
        
        public Criteria andSexIn(List<Integer> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }
        
        public Criteria andSearchEqualTo(Integer value) {
            addCriterion("search =", value, "search");
            return (Criteria) this;
        }
        public Criteria andSourceEqualTo(Integer value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }
        
        public Criteria andLowageGreaterThan(Integer value) {
            addCriterion("lowage >", value, "lowage");
            return (Criteria) this;
        }
        
        public Criteria andUpageGreaterThan(Integer value) {
            addCriterion("upage >", value, "upage");
            return (Criteria) this;
        }
        public Criteria andUpageLessThan(Integer value) {
            addCriterion("upage <", value, "upage");
            return (Criteria) this;
        }
        public Criteria andLowageLessThan(Integer value) {
            addCriterion("lowage <", value, "lowage");
            return (Criteria) this;
        }

        public Criteria andNumNotEqualTo(Integer value) {
            addCriterion("num <>", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThan(Integer value) {
            addCriterion("num >", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("num >=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThan(Integer value) {
            addCriterion("num <", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumLessThanOrEqualTo(Integer value) {
            addCriterion("num <=", value, "num");
            return (Criteria) this;
        }

        public Criteria andNumIn(List<Integer> values) {
            addCriterion("num in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotIn(List<Integer> values) {
            addCriterion("num not in", values, "num");
            return (Criteria) this;
        }

        public Criteria andNumBetween(Integer value1, Integer value2) {
            addCriterion("num between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andNumNotBetween(Integer value1, Integer value2) {
            addCriterion("num not between", value1, value2, "num");
            return (Criteria) this;
        }

        public Criteria andShiyongIsNull() {
            addCriterion("shiyong is null");
            return (Criteria) this;
        }

        public Criteria andShiyongIsNotNull() {
            addCriterion("shiyong is not null");
            return (Criteria) this;
        }

        public Criteria andShiyongEqualTo(Integer value) {
            addCriterion("shiyong =", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongNotEqualTo(Integer value) {
            addCriterion("shiyong <>", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongGreaterThan(Integer value) {
            addCriterion("shiyong >", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongGreaterThanOrEqualTo(Integer value) {
            addCriterion("shiyong >=", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongLessThan(Integer value) {
            addCriterion("shiyong <", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongLessThanOrEqualTo(Integer value) {
            addCriterion("shiyong <=", value, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongIn(List<Integer> values) {
            addCriterion("shiyong in", values, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongNotIn(List<Integer> values) {
            addCriterion("shiyong not in", values, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongBetween(Integer value1, Integer value2) {
            addCriterion("shiyong between", value1, value2, "shiyong");
            return (Criteria) this;
        }

        public Criteria andShiyongNotBetween(Integer value1, Integer value2) {
            addCriterion("shiyong not between", value1, value2, "shiyong");
            return (Criteria) this;
        }

        public Criteria andBarcodeIsNull() {
            addCriterion("barcode is null");
            return (Criteria) this;
        }

        public Criteria andBarcodeIsNotNull() {
            addCriterion("barcode is not null");
            return (Criteria) this;
        }

        public Criteria andBarcodeEqualTo(String value) {
            addCriterion("barcode =", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotEqualTo(String value) {
            addCriterion("barcode <>", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeGreaterThan(String value) {
            addCriterion("barcode >", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeGreaterThanOrEqualTo(String value) {
            addCriterion("barcode >=", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLessThan(String value) {
            addCriterion("barcode <", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLessThanOrEqualTo(String value) {
            addCriterion("barcode <=", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeLike(String value) {
            addCriterion("barcode like", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotLike(String value) {
            addCriterion("barcode not like", value, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeIn(List<String> values) {
            addCriterion("barcode in", values, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotIn(List<String> values) {
            addCriterion("barcode not in", values, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeBetween(String value1, String value2) {
            addCriterion("barcode between", value1, value2, "barcode");
            return (Criteria) this;
        }

        public Criteria andBarcodeNotBetween(String value1, String value2) {
            addCriterion("barcode not between", value1, value2, "barcode");
            return (Criteria) this;
        }

        public Criteria andCidIsNull() {
            addCriterion("cid is null");
            return (Criteria) this;
        }

        public Criteria andCidIsNotNull() {
            addCriterion("cid is not null");
            return (Criteria) this;
        }

        public Criteria andCidEqualTo(Long value) {
            addCriterion("cid =", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotEqualTo(Long value) {
            addCriterion("cid <>", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThan(Long value) {
            addCriterion("cid >", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThanOrEqualTo(Long value) {
            addCriterion("cid >=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThan(Long value) {
            addCriterion("cid <", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThanOrEqualTo(Long value) {
            addCriterion("cid <=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidIn(List<Long> values) {
            addCriterion("cid in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotIn(List<Long> values) {
            addCriterion("cid not in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidBetween(Long value1, Long value2) {
            addCriterion("cid between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotBetween(Long value1, Long value2) {
            addCriterion("cid not between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andIsHotIsNull() {
            addCriterion("is_hot is null");
            return (Criteria) this;
        }

        public Criteria andIsHotIsNotNull() {
            addCriterion("is_hot is not null");
            return (Criteria) this;
        }

        public Criteria andIsHotEqualTo(Integer value) {
            addCriterion("is_hot =", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotNotEqualTo(Integer value) {
            addCriterion("is_hot <>", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotGreaterThan(Integer value) {
            addCriterion("is_hot >", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_hot >=", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotLessThan(Integer value) {
            addCriterion("is_hot <", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotLessThanOrEqualTo(Integer value) {
            addCriterion("is_hot <=", value, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotIn(List<Integer> values) {
            addCriterion("is_hot in", values, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotNotIn(List<Integer> values) {
            addCriterion("is_hot not in", values, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotBetween(Integer value1, Integer value2) {
            addCriterion("is_hot between", value1, value2, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsHotNotBetween(Integer value1, Integer value2) {
            addCriterion("is_hot not between", value1, value2, "isHot");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNull() {
            addCriterion("is_show is null");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNotNull() {
            addCriterion("is_show is not null");
            return (Criteria) this;
        }

        public Criteria andIsShowEqualTo(Integer value) {
            addCriterion("is_show =", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotEqualTo(Integer value) {
            addCriterion("is_show <>", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThan(Integer value) {
            addCriterion("is_show >", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_show >=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThan(Integer value) {
            addCriterion("is_show <", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThanOrEqualTo(Integer value) {
            addCriterion("is_show <=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowIn(List<Integer> values) {
            addCriterion("is_show in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotIn(List<Integer> values) {
            addCriterion("is_show not in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowBetween(Integer value1, Integer value2) {
            addCriterion("is_show between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotBetween(Integer value1, Integer value2) {
            addCriterion("is_show not between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNull() {
            addCriterion("created is null");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNotNull() {
            addCriterion("created is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedEqualTo(Date value) {
            addCriterion("created =", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotEqualTo(Date value) {
            addCriterion("created <>", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThan(Date value) {
            addCriterion("created >", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
            addCriterion("created >=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThan(Date value) {
            addCriterion("created <", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThanOrEqualTo(Date value) {
            addCriterion("created <=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedIn(List<Date> values) {
            addCriterion("created in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotIn(List<Date> values) {
            addCriterion("created not in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedBetween(Date value1, Date value2) {
            addCriterion("created between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotBetween(Date value1, Date value2) {
            addCriterion("created not between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNull() {
            addCriterion("updated is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNotNull() {
            addCriterion("updated is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedEqualTo(Date value) {
            addCriterion("updated =", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotEqualTo(Date value) {
            addCriterion("updated <>", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThan(Date value) {
            addCriterion("updated >", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThanOrEqualTo(Date value) {
            addCriterion("updated >=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThan(Date value) {
            addCriterion("updated <", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThanOrEqualTo(Date value) {
            addCriterion("updated <=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedIn(List<Date> values) {
            addCriterion("updated in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotIn(List<Date> values) {
            addCriterion("updated not in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedBetween(Date value1, Date value2) {
            addCriterion("updated between", value1, value2, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotBetween(Date value1, Date value2) {
            addCriterion("updated not between", value1, value2, "updated");
            return (Criteria) this;
        }

        public Criteria andStortorderIsNull() {
            addCriterion("stortOrder is null");
            return (Criteria) this;
        }

        public Criteria andStortorderIsNotNull() {
            addCriterion("stortOrder is not null");
            return (Criteria) this;
        }

        public Criteria andStortorderEqualTo(Long value) {
            addCriterion("stortOrder =", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderNotEqualTo(Long value) {
            addCriterion("stortOrder <>", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderGreaterThan(Long value) {
            addCriterion("stortOrder >", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderGreaterThanOrEqualTo(Long value) {
            addCriterion("stortOrder >=", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderLessThan(Long value) {
            addCriterion("stortOrder <", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderLessThanOrEqualTo(Long value) {
            addCriterion("stortOrder <=", value, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderIn(List<Long> values) {
            addCriterion("stortOrder in", values, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderNotIn(List<Long> values) {
            addCriterion("stortOrder not in", values, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderBetween(Long value1, Long value2) {
            addCriterion("stortOrder between", value1, value2, "stortorder");
            return (Criteria) this;
        }

        public Criteria andStortorderNotBetween(Long value1, Long value2) {
            addCriterion("stortOrder not between", value1, value2, "stortorder");
            return (Criteria) this;
        }

        public Criteria andSizeIsNull() {
            addCriterion("size is null");
            return (Criteria) this;
        }

        public Criteria andSizeIsNotNull() {
            addCriterion("size is not null");
            return (Criteria) this;
        }

        public Criteria andSizeEqualTo(String value) {
            addCriterion("size =", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotEqualTo(String value) {
            addCriterion("size <>", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThan(String value) {
            addCriterion("size >", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThanOrEqualTo(String value) {
            addCriterion("size >=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThan(String value) {
            addCriterion("size <", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThanOrEqualTo(String value) {
            addCriterion("size <=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLike(String value) {
            addCriterion("size like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotLike(String value) {
            addCriterion("size not like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeIn(List<String> values) {
            addCriterion("size in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotIn(List<String> values) {
            addCriterion("size not in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeBetween(String value1, String value2) {
            addCriterion("size between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotBetween(String value1, String value2) {
            addCriterion("size not between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andCaizhiIsNull() {
            addCriterion("caizhi is null");
            return (Criteria) this;
        }

        public Criteria andCaizhiIsNotNull() {
            addCriterion("caizhi is not null");
            return (Criteria) this;
        }

        public Criteria andCaizhiEqualTo(String value) {
            addCriterion("caizhi =", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiNotEqualTo(String value) {
            addCriterion("caizhi <>", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiGreaterThan(String value) {
            addCriterion("caizhi >", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiGreaterThanOrEqualTo(String value) {
            addCriterion("caizhi >=", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiLessThan(String value) {
            addCriterion("caizhi <", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiLessThanOrEqualTo(String value) {
            addCriterion("caizhi <=", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiLike(String value) {
            addCriterion("caizhi like", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiNotLike(String value) {
            addCriterion("caizhi not like", value, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiIn(List<String> values) {
            addCriterion("caizhi in", values, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiNotIn(List<String> values) {
            addCriterion("caizhi not in", values, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiBetween(String value1, String value2) {
            addCriterion("caizhi between", value1, value2, "caizhi");
            return (Criteria) this;
        }

        public Criteria andCaizhiNotBetween(String value1, String value2) {
            addCriterion("caizhi not between", value1, value2, "caizhi");
            return (Criteria) this;
        }

        public Criteria andPinpaiIsNull() {
            addCriterion("pinpai is null");
            return (Criteria) this;
        }

        public Criteria andPinpaiIsNotNull() {
            addCriterion("pinpai is not null");
            return (Criteria) this;
        }

        public Criteria andPinpaiEqualTo(String value) {
            addCriterion("pinpai =", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiNotEqualTo(String value) {
            addCriterion("pinpai <>", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiGreaterThan(String value) {
            addCriterion("pinpai >", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiGreaterThanOrEqualTo(String value) {
            addCriterion("pinpai >=", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiLessThan(String value) {
            addCriterion("pinpai <", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiLessThanOrEqualTo(String value) {
            addCriterion("pinpai <=", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiLike(String value) {
            addCriterion("pinpai like", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiNotLike(String value) {
            addCriterion("pinpai not like", value, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiIn(List<String> values) {
            addCriterion("pinpai in", values, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiNotIn(List<String> values) {
            addCriterion("pinpai not in", values, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiBetween(String value1, String value2) {
            addCriterion("pinpai between", value1, value2, "pinpai");
            return (Criteria) this;
        }

        public Criteria andPinpaiNotBetween(String value1, String value2) {
            addCriterion("pinpai not between", value1, value2, "pinpai");
            return (Criteria) this;
        }

        public Criteria andZhongliangIsNull() {
            addCriterion("zhongliang is null");
            return (Criteria) this;
        }

        public Criteria andZhongliangIsNotNull() {
            addCriterion("zhongliang is not null");
            return (Criteria) this;
        }

        public Criteria andZhongliangEqualTo(String value) {
            addCriterion("zhongliang =", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangNotEqualTo(String value) {
            addCriterion("zhongliang <>", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangGreaterThan(String value) {
            addCriterion("zhongliang >", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangGreaterThanOrEqualTo(String value) {
            addCriterion("zhongliang >=", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangLessThan(String value) {
            addCriterion("zhongliang <", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangLessThanOrEqualTo(String value) {
            addCriterion("zhongliang <=", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangLike(String value) {
            addCriterion("zhongliang like", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangNotLike(String value) {
            addCriterion("zhongliang not like", value, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangIn(List<String> values) {
            addCriterion("zhongliang in", values, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangNotIn(List<String> values) {
            addCriterion("zhongliang not in", values, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangBetween(String value1, String value2) {
            addCriterion("zhongliang between", value1, value2, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andZhongliangNotBetween(String value1, String value2) {
            addCriterion("zhongliang not between", value1, value2, "zhongliang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangIsNull() {
            addCriterion("shiyongduixiang is null");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangIsNotNull() {
            addCriterion("shiyongduixiang is not null");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangEqualTo(String value) {
            addCriterion("shiyongduixiang =", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangNotEqualTo(String value) {
            addCriterion("shiyongduixiang <>", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangGreaterThan(String value) {
            addCriterion("shiyongduixiang >", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangGreaterThanOrEqualTo(String value) {
            addCriterion("shiyongduixiang >=", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangLessThan(String value) {
            addCriterion("shiyongduixiang <", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangLessThanOrEqualTo(String value) {
            addCriterion("shiyongduixiang <=", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangLike(String value) {
            addCriterion("shiyongduixiang like", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangNotLike(String value) {
            addCriterion("shiyongduixiang not like", value, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangIn(List<String> values) {
            addCriterion("shiyongduixiang in", values, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangNotIn(List<String> values) {
            addCriterion("shiyongduixiang not in", values, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangBetween(String value1, String value2) {
            addCriterion("shiyongduixiang between", value1, value2, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andShiyongduixiangNotBetween(String value1, String value2) {
            addCriterion("shiyongduixiang not between", value1, value2, "shiyongduixiang");
            return (Criteria) this;
        }

        public Criteria andProductaddressIsNull() {
            addCriterion("productaddress is null");
            return (Criteria) this;
        }

        public Criteria andProductaddressIsNotNull() {
            addCriterion("productaddress is not null");
            return (Criteria) this;
        }

        public Criteria andProductaddressEqualTo(String value) {
            addCriterion("productaddress =", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressNotEqualTo(String value) {
            addCriterion("productaddress <>", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressGreaterThan(String value) {
            addCriterion("productaddress >", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressGreaterThanOrEqualTo(String value) {
            addCriterion("productaddress >=", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressLessThan(String value) {
            addCriterion("productaddress <", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressLessThanOrEqualTo(String value) {
            addCriterion("productaddress <=", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressLike(String value) {
            addCriterion("productaddress like", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressNotLike(String value) {
            addCriterion("productaddress not like", value, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressIn(List<String> values) {
            addCriterion("productaddress in", values, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressNotIn(List<String> values) {
            addCriterion("productaddress not in", values, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressBetween(String value1, String value2) {
            addCriterion("productaddress between", value1, value2, "productaddress");
            return (Criteria) this;
        }

        public Criteria andProductaddressNotBetween(String value1, String value2) {
            addCriterion("productaddress not between", value1, value2, "productaddress");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}